home *** CD-ROM | disk | FTP | other *** search
/ Merciful 5 / Merciful - Disc 5.iso / software / r / real_3d / real3dv3.3b.dms / real3dv3.3b.adf / RPL.LZH / RPL / distribute.rpl < prev    next >
Text File  |  1995-05-04  |  551b  |  34 lines

  1.  
  2. ( Takes a bunch of objects and distributes the distances between COGs of
  3. ( subsequent objects.
  4.  
  5. "r3d3:rpl/sys/vectors.rpl" LOAD
  6.  
  7. FVARIABLE fLen
  8. VVARIABLE vTmp
  9.  
  10. : Distr ( 0 aObjects .... )
  11.     iOP_COG O_PROP vTmp V!
  12.     BEGIN
  13.     DUP
  14.     WHILE
  15.     DUP iOP_COG O_PROP 
  16.         vTmp V@ VSUB VNORM
  17.         fLen F@ VMUL 
  18.         vTmp V@ VADD vTmp V!
  19.         0 SWAP vTmp V@ 0 M_MOVECOG 
  20.     REPEAT
  21.     DROP
  22. ;
  23.  
  24. ( User interface
  25. : Distribute
  26.     fLen "Distance between Objects" GET_FLT 
  27.     IF
  28.         1 O_LOCK
  29.     O_GETSEL
  30.         Distr
  31.         0 O_LOCK
  32.     ENDIF
  33. ;
  34.